package com.tiancheng.trade.order.bo;

import lombok.Getter;
import lombok.Setter;

import java.time.LocalDateTime;

/**
 * 可开票订单信息
 *
 * @author kellen
 * @date 2024/6/25
 */
@Getter
@Setter
public class InvoiceOrderBO {

    // 用户id
    private String uid;
    // 订单编号
    private String orderId;
    // 订单名称
    private String orderName;
    // 订单金额
    private Integer orderAmount;
    // 订单支付金额
    private Integer payAmount;
    // 订单退款金额
    private Integer refundAmount;
    // 订单可开票金额
    private Integer invoiceAmount;
    // 发票类型
    private String invoiceTypeCode;
    // 订单可开票张数
    private Integer invoiceNum;
    // 订单状态
    private String orderStatus;
    // 订单业务场景
    private String orderSource;
    // 商户编号
    private String sellerTaxpayerSn;
    // 商户纳税人识别号
    private String sellerTaxpayerNum;
    // 商户名称
    private String sellerTaxpayerName;
    // 订单可开票明细
    private String items;
    // 订单可开票明细数量
    private Integer itemsNum;
    // 订单创建时间
    private LocalDateTime orderCreateTime;
    // 订单支付时间
    private LocalDateTime orderPayTime;
    // 开具冠名发票，板式编码
    private String template;
    // 开具冠名发票，板式内容(json)
    private String templateInfo;

    // 购方发票抬头
    private String buyerTitle;
    // 抬头类型：1（个人/政府事业单位）、2（企业）
    private String titleType;
    // 购方纳税人识别号（当抬头类型为2时，必传）
    private String buyerTaxpayerNum;
    // 如果填入将推送发票至该邮箱
    private String buyerEmail;
    // 如果填入将推送开票结果短信至该手机号
    private String takerPhone;
    // 购方银行名称
    private String buyerBankName;
    // 购方银行账号
    private String buyerBankAccount;
    // 购方地址
    private String buyerAddress;
    // 购方电话
    private String buyerPhone;
    // 备注
    private String remark;
}
